Tópico Movido
Este tópico foi movido de "OTServ → Scripting → Downloads Scripts"
para "OTServ → Scripting → Suporte Scripting".
info
Grupo: Conde
Registrado: 07/04/15
Posts: 926
Reputação: +335
Gênero: Masculino

Tópico Movido
Este tópico foi movido de "OTServ → Scripting → Downloads Scripts"
para "OTServ → Scripting → Suporte Scripting".
info
Grupo: Conde
Registrado: 07/04/15
Posts: 962
Reputação: +258
Gênero: Masculino

Trocar que itens ? detalhe não sei o que se passa na sua mente ...
info
Grupo: Campones
Registrado: 05/10/15
Posts: 9
Reputação: 0

Trocar que itens ? detalhe não sei o que se passa na sua mente ...
O item eu édito só preciso mesmo de um script
info
Grupo: Conde
Registrado: 07/04/15
Posts: 926
Reputação: +335
Gênero: Masculino

@@Johnnyirie, o que ele quis dizer é que vc precisa detalhar mais sobre como será o diálogo entre player e npc.
info
Grupo: Campones
Registrado: 05/10/15
Posts: 9
Reputação: 0

Exemplo, na primeira tentativa de troca o player entraga x item ao NPC e recebe y item como recompensa e daí nunca mais o Player consegue trocar o x item no NPC.
info
Grupo: Conde
Registrado: 07/04/15
Posts: 962
Reputação: +258
Gênero: Masculino

Não se esqueça de colocar o id dos itens ...
local item_1 = XXXX -- ID do item necessário para a troca
local item_2 = XXXX -- ID do item que recebe ao dar item_1
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
local function creatureSayCallback(cid, type, msg)
if not npcHandler:isFocused(cid) then
return false
end
player = Player(cid);
if msgcontains(msg, "troca") then
if player:getStorageValue(9874) < 1 then
if player:getItemCount(item_1) > 1 then
npcHandler:say("Você tem certeza ?", cid);
npcHandler.topic[cid] = 1;
else
npcHandler:say("Você não tem o item para a troca.", cid);
npcHandler.topic[cid] = 0;
end
else
npcHandler:say("Você já fez a troca.", cid);
npcHandler.topic[cid] = 0;
end
elseif msgcontains(msg, "yes") and npcHandler.topic[cid] == 1 and player:getItemCount(item_1) > 1 then
npcHandler:say("Aqui está o seu item!", cid);
player:removeItem(item_1, 1);
player:addItem(item_2, 1);
player:setStorageValue(9874, 1);
npcHandler.topic[cid] = 0;
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
info
Grupo: Campones
Registrado: 05/10/15
Posts: 9
Reputação: 0

Obrigado, era isso mesmo que eu precisava ^^
info
Grupo: Campones
Registrado: 05/10/15
Posts: 9
Reputação: 0
preciso de um npc que troque itens apenas 1x ex:
sem ter trocado (sem storage)
player: hi
npc: eu posso trocar...
player: yes
com troca (com storage)
player: hi
npc: desculpe você já realizou está troca